Maï'eutica:
((p0ur
Geux
qui
ne
savent
pas))
Pen
JBaN-PruuppB
oo Lsspnay,
PnÉsroervr
DnecrBun
GÉNÉnel
o'Ancerw
une
aide
à
la
décision
Maïeutica
est un
générûteur
d'applications
basé
sur un
concept
original:
la Malteutique,
inventée en
1986
par
Arcane, petite
société
nantaise.
Ce concept
démontre que
îoute
application
informatique peut
très
facilement
(et
devrait)
s'écrire
et s'exploiter
sous la
forme
d'un système
expert
de 2ème
génération.
Non seulement
son
déieloppe-
ment devient
ainsi
quasi-automatique
mais elle
acquien
une
dimension
supplémentaire
très
agréable:
une
aptitude
au
dialogue
laissant
transfuser
Ia connaissance
humaine
qui
I'anime, qui
augmente
considérablement
Ie
pouvoir
de
c i s i on
de I'
utili s at eur.
Av
e c M aïe
ut ic a, I'
info rmati qu
e,
traditionnellement
conçue
4pour
ceux
qui
sovent,,
s'adapte
enfin
à
<ceurc
qui
ne savent
pas>>.
J ln
outil d'aide
â ia décision
une
| |
application informarique
desrinee
à
\-,1
présenter
à l'urilisareur
les
bonnes
données au
bon moment
pour
faciliter
sa
prise
de décision.
Mais si l'on
y
réfléchit
bien,
y
a-t-
il vraiment
une
dilférence
de fond
avec les
autres formes
de logiciels?
Toutes
les
applica-
tionsne
sont-ellespas,
elles aussi,
des aidès
àla
décision?
Elles
prennent
des décisions
à
la
place
de l
homme
rla paye.
ler
logiciels
indus-
lriels. par
exemple),
creent
dec
donnéer néces-
saires
à saprise de
décision
(la
comptabilité,
les
tableurs. ler
sysrèmes
expertst.
inculquent
une
c0nnalssance
pour
une
prise
de
décision future
(logiciels
de formation),
fournissent
des ta-
bleaux
de données
nécessaires
à sa
prise
de
décision
(SGBD).
De plus,
elles
ont toures
un
autre
point
commun
:
elles détiennent
des con-
naissancer
humaines précieuses
maiù
cryptées.
Ce
qui
fait
que.
aide
à ia ddcision
ou
pas.
iin esr
pas pensable
de
les remettre
entre
ies
mains
d'utilisateurs
non
expefis
ou non
préparés.
Le
constat
à faire
"ur
l inlormatique
d au-
jourd'hui.
c e(
qu'elle
produir
une
aide
à la
ddcision
pour.ceur
qui
savsn1,..
Tant
pis
pgur
les
autres
qui,
pourtant,
en
ont aussi
6ien be-
sotn.
-
Lorsque
l'on écrit
un
programme,
I'analyse
[onctionne]le
de Crand-Papa
a
justemenr
pour
l0nctron
de consigner par
écrit
Ia connaissance
qui
l'animera.
Malheureusement.
comme
elle
esl recueillie par
un
inlormaticien
qui
cherche
à
bâtir des algorithmes.
elle
perd
immddiarement
cet état
d esprir
er devienr
illisible,
La vraie
connaissance,
celle
qui
sait
pourquoi
il
faut ces
26
O IX-MAGAZINE
- Vol. l0 -
N. 8l
MaIs 1995
17 1I
MÀIEUTICA
PAYE 4.ll4MÊ 137
ons Ediriôn Fnn.rinnç
/,-
alb ea-1.âb:e"n
\e )n,rEeqecb
(
rÉlâ
è
ave-'l àiâ ln+e5-,.odr- a-r
Jôr'.
pL.--
à
Fe
r"
o9r
NON
il!
â
(rÈ:
hÉlies :uF
/
l,lON lÉ.aler é a ebsÊri
+
salt Èver
Èvantâqe5=:ntEûÉ menslet
\NoN
i
y
â,ies
heures slF
/e..,,b,Pdr,FufF..,É/! ;J
/
1"
/r..'.rr
r-tr- ,F ....ù--he..É-:.F/_
ii._."::!
_.-
',
\
{,
'>cre
-i.%-
:rrè
Éh.
énÈ
rÉno ,
\
Nrrrl e
-nla'iÈ
r È1è nr.:e i
\sa
ait. auam are'rtages=i"ele re m€nsu€+(salere 2s %+sr É
50%l)
-heùres
â
peyer=(nlmbrÉ
dh€ureslravaillées du nois+lâ
dlrée de conlrÉ
FnyÉj
Figute 1: Arbre Paye.
algorithmes et elle
va,
celle-1à est restée
dans la tête des utilisateurs/experts. Leurs
col-
legue' ne
rrsquenL donc
pa.
de la decour rir.
.i
ce n'est
par
interview
0u lormation.
qui
sont des
actions très voiontaristes. Le seul moyen
de
l'appréhender
avec le
programme, peu
agréab1e
et
partiel.
serait de lire l'analyse
fonctionnelle
0u d'exécuter ce
pr0gramme
el de tester toutes
les réponses
possibles.
Quant
à finformaticien,
comme il n'a
pas
recueilli la
connaissance, il est obligé de la
reconstituer à sa façon
pour
élaborer le
pro-
gramme.
Et
comme les
programmes
ne
savent
pas
tourner tant
qu'ils
ne
sont
pas
achevés
(hormis
les
systèmes experts de seconde
géné-
ration), les utilisateurs ne
pourront
I'aider
à
rectifier le
tirque trop tard. Les autres
néthodes
de conception,
par
exemple celles
qui
sont
<di-
rigées
par
les données>.
ne résolvent
pas
le
problème.
Cette fois-ci, on ne
s'intéresse
pas
aux méthodes
connues de l'utilisateur,
qui
sont
pourtant
d'une totale efficacité:
on
lui
demande
ce
qu
il
reut
obtenir
rur le
plan
in[",rnntique.
ce
qu'il
ne peut
exprimer
clairement
puisqu'il
n'est
pas
expert
en la matière.
Les utilisateurs/experts
0nt
pourlant
en
tête
une
méthode qui
sait
elle
va
et
qui
devrait
guider
le
programme.
Elle
pan
toujoun
d'un
point
de départ important
qui,
lui-même est une
connaissance tirée
d'une méthode
précédente,
donnée dont chaque état entraîne
une démarche
propre \'dppuyanl
sur d'duLre\ données.
ju'-
qu'à
obtenir
les résultats
voulus. C'est une dé-
marche arborescente,
facile à représenter telle
quelle
sur
papier.
Elle a le mérrte d'être lisible
de rou:. Pourquoi donc
le" analyse. fonction-
nelles ne sont-elles
pas
écriles
sous
forme
d'ar'
bres ?
La
première
étape
de la Mai, riti4r( conçi\re
justement
à représenter
par
des arbres la con-
naissance des utilisateurs.
Ce nom étrange.
choisi
par
la société
Arcane et inventé
par
So-
crate
vers 400
ans avânt
J-C, décrivait déjà une
méthode
d'
interview
logique
permettant <d'ac-
coucher- t,r,ricrilill
en
grecr
la connairsance
des
cerveaux
même
les
plus
rebelJes.
Ce
philo-
sophepretendlitqL
arecunesuiredequerrion.
bien
posées.
on
pouvait
faire
(re)trouver
à n'im-
pone qui
n'impone quelle
connaissance.
Et il
avait raison. Depuis
10 ans
qu'Arcane
utilise
I'analyse
guidée
par
arbres de décision, le ré-
:ullrr r
toujour,r
éte un
.uccè..
L inler\
iew.
quand
elle est menée
sous cette forme logique,
pldce
le\ urili\ateur"/erpert"
dan. une suire
progressive
de situations précises
et réelles,
qui
les
aide à trouver les
données menant aux résul-
tats. Mieux encore,
ceJ utilisûteurs
sonl
plLts
experts après I'intervlel,qu'avant
cal elle leur
a fait
prendre
con\cience
de ce
q.r'il.
saraient
et leç a rideç J mieur
orBani:er ieur
connais-
sance.
Sur Ie
plan
iniormatique.
cette représenrarion
offre I'intérêt
de structurer
naturellenent la
connaisstnce. un arbre
=
un domaine de con-
naissance,
une application
=
plusieurs
domai-
ns5
=
plusieur.
arbre.. hlle
pre\ente
au\(:
l'énorme intérêt de visucliser
les oublis. Les
différentes
alternatives présentées
à chaque
aigrillage de l'arbre
sont bien visibles, alon
qu'e1les
sont invisibles
dans
le
texte d'une ana-
I
Une application
=
une aide
I à la décision
=
un arbre
O
IX-MAGAZINE
- Vol. l0 N"
8l
Mars
1995
I Ne nas conlondre arbre
I
etorqaniqramme !
lyse fonctionnelle. Les
oublis sont localisés làoir
les branches n'aboutissent
pas
à une conclusion.
L'unjversalité
ds l'arbre en matière
de repré-
sentation d'ùn
programme
est d'ailleurs rec0n-
nue
par
1'ensemble des inf0maticiens,
habitués
aux vertus de 1'organigramme. Mais
attention,
un organigramme
n'est
pas
un arbrel 11
y
a une
différence fondamentale entre eux: I'un
peut
b0Jc
er. l
aulre
pa).
L 0r8aniBramme c0nrie.ll
de nombreux retours en arrière
qui
font repren-
dre la même démarche. Or,
personne
ne
t'ait
janais
de retour en arrière
pour
reprendre
stùctenent la nême dlrucrcfie,
S'ildoit
y
avoir
retour vers une démarche connue, ce sera
p0ur
un
nombre
de lbis limité et
pour
faire à chaque
fois
quelque
chose d'un
peu
différent. L'arbre,
obligé de décrire chaque retour, sera
donc
plus
volumineux que
l'organigramme. Mais
c'est
lustement
ce
qrr'on
lui denrnde:
.a
connai\-
sance doit êtLe erplicite et comnunicable.
donc
la
plus
volumineuse possible
(sans
exagération,
bien entendu!).
I
Une application
=
un arbre
=
I
une
base de règles
La deurième étape de la Vaïeurique
con"isre
à établir
qu'il
existe une relation
directe entre
l'arbre et le
programme.
Regardons I'arbre
de
1a figure
1.
qui
décrit un
cas banal: le calcul du
salaire brut.
Pour le non intbrmaticien.
le\ etpre\5r0nr
suivies d'un
point
d'interrogation soni les
questi0ns
à se
poser pour
traiter le
problème.
Pour I'inlormaticien,
ce sont les
paramètres
que
le
programme
doit
connaître
pour
s'exécuter.
Pour
le
premier.
le,, reponre:
a ces
quesli0ns
sont les valeurs
des
paramètres pour
Ie second.
Pour
l un. le' expre..ion'.ans ps1n1
6 ;n'arro-
gati0n
s0nt des déductions,
pour
l'autre
ce sont
le" donnee. l fournir.
En somme.
bien
que
chacun
interprète
I'arbre
avec son
propre
lan-
g.ree.
celui-ci esl anall
'e
de lr
mème irçon.
La Maïeutique
démontre
que,
si l'on débite
un arbre en tronçonnant
ses branches
après
chaque
conclusii-'n. on
le
trnu.çfarne
autou,rti.
quement
en
une lisle de ùgLes suJfisante pour
traiter le problètne.
Ces Lègles
étaient bien
entendu
présentes
dans la tête des utilisateurs/
erpefls.
mar. la
plupan
du temp\ incon\ciem-
ment
(figure
2: avec les
arbres décrivant la Paye,
on détientune méthodologie. Avec
leurs règles. on
détient une
connaissance exprimée en clair.)
5l heurè.
*àlane à
pàrêr<l69
ALOFS sdlàrié à éré âh.enr
sèlàire àyanl
èvanlases=llsàlane
mensuêl-heures
de salàire à
pôyerl./1691
sèlène àYànt
ôyèntases 50
Sl heùres
de salanê à
Êôver=l69
le salàrié h à
pès
été absent
ET
pas
d heùres.up
sôlaite àYânt àvàntèqes
51
Sl heutês de
sôlaire à
pàyêr=l69
ET sàlàne mensuel e.t .nhn-
sàlâire
avant àYàhtàqes 52
Sl heures
de .àlàirê à
pàyer>169
il
y
a dês heures sup
ET le salèrié
n à
pôs
été àbsent
Figute 2: Exécution
du
progrcmne
Paye.
I
Une application=
une
base de
I
règles
=
un
système experl
La troisième
étape de la Maïeutique
consiste
r demontrer qtr'rvec
ce: rëp.es.
o I ddtient
une
lDpliratior
uperat.onnelle. Deja.
ivec rrn
perit
rnoteur
chargé
d'introduire les données
dans la
liste de règles.
de déclencher
les Lègles
et de
transmettre les
résultats.
on obtient un sénéra-
teur d'applications performant.
Mieux
èncole.
ce
petit
moteur
demeurera
délinitivement vala-
ble
pour
elploirer ce
tlpe de reele..
0rr ,ielr
JAtrt tlt'
C0
t(illt
ttt!to
tttt!LLtt/nt(tit
(
pt.O-
gtiult
(
tttc
ltu0lys(
it'lctigturyll,
ërtjt, .,6xt
forne
d'urbres.
Mais.
qu'est-ce
donc qu'un programme
cons-
titué d'une
base de règles
et d'un moteur
I
Un
système
expert.
Du moins selon
f idéologie
en
vigueur
dans le monde
de l'informatique.
Cette
technique tirée
de I'intelligence
anilicielle
est
considérée
depuis
les années
soixante-dix
comme le nec plus
ultra du génie
logiciel.
Le
système
expert
est censé donner
à I'ordinateur
la faculté de raisonner.
l1 rend théoriquement
inurile lr proerammarion
rlgorirrmique
er
dunc
le
recour'
à une conpéterrce
irl0tmJliqLe.
traite
sans difficulté
les
problèmes
complexes
et extrêmement
combinatoires
(comme
le
dia-
gnostic
de panne)
et
pelmet
d'élaborer sans
programmation
(en
<déclaratif>)
des logicieJs
capables
de dialoguer
avec leurs
utilisateurs
de
façon
parfaitement
naturelle.
Ce n'est
pas
t0ut.
Puisqu'il
est
éclit sous forme
d'un fichier.
i1
fonctianne
quel
que
soit son ét
d'atancenent.
tnl.n. il
e.t caprble
J elpliquer.on
fat\0nne
ment, de détecter
les contradictions
aussi
bien
dans sa connaissance que
dans
Ies données
du
problème
à traiter,
c0ntradictions
dont il
peur
expliqueL
1'origine.
On
peut
simuler
alec lui
autant de situations que
nécessaire
en ne chln-
geant que
1es
données intéressantes.
C est
l outil
<rêvé>
pour
I'aide
à la décision
ou le
maquettage. En fait,
très
peu
de systèmes ex-
perts
possèdent
ces
caractéristiques.
Un
moteur
simple ne lonctionne qu'en
batch et n'olfre rien
de tout cela. ll faut
disposer
d un
vrai
nécr,
nisnrc
de rttisoturcmellt
interactif,
qui
est long à
concevoir
mais
qui
otïriLa bien des
satisfac-
tions.
Pour cei[ qui
\onr
pre\\e\
u ubtenir ce.
satisficti0ns.
Arcane propose
avec Maîeutica
un outil olliant
ces fonctionnalirés. plus
bien
d'autres,
depuis le
dessin des
aLbres
jusqu'à
leur tr':drrclrnr
et eJr
erpl0ir.rtion rulomitti-
ques
sous forme
de systèmes experts
de sec0nde
génération.
Maieutica
tourne
sous DOS.
Windows
et MVS.
il est portable
sous
Unix et
0S/1.
Vai. pour
ceur
qur
ort
0u Lemp: er
qLi
aitneri.ieni
derelopper
:n bon noreur
de
.Ir-
tème expefi
par
eux-mêmes.
v0ici les recettes
indispensables
à
connaître
avant de se lancer
dans cette aventure.
Avant
de cOnstruire
un m0teur
de
système
exper.
'l
lauL
j.rv0ir
ce
qu
0.t en ,1tLend. Le.
systèmes experts
d'aujourd'hui
sont,
pour
leur.
qur.i rural:re.
Lre.
luin d étfe
.
intejlieerrr..
d'où leur
piètre
image,
Cela tient
au
fair!u'il
y
a système expert...
et systène
expefi
(et
réci-
ploquement).
Dans
la
quasltotalité
des cas. le
concepteur
d'un système
expert, au lieu
d'être
I
Un
peu
de mécano:
lestrois
I
éta'pes Oe
construction
d'un
I
moteur
de
système
expert
un utilisateur
final. est
un informaticien.
Or,
celui-ci n'a
pas
les exigences
de convivialité
de
l utilisateur
final et
se contente
généralement
d'élaborerune
base de règles
et de la doter
d'un
rnoteu
simple
et spécifique,
dépourvu de
la
moindre
capacité logique.
Pour l'utilisateur/expert
de
ce
programme.
il
lui
a fallu travailler plus
longuement que
d'ha-
bitude. et
cer.
pour
rborrrir
a un re.u ltrr .l-'eLe-
ment identique
à celui
obtenu avec un
pro-
gramme
classique.
Dals l'esprit
du dévelop-
peur.
démonstration est faite
de son immense
)]\ orr-l.Ure er le pre)ltpe
de l inrelligence
ani-
licielLe va
rejaillir
sur lui... En
passant,
il
en
profite pour
se baptiser
<cogniticien> (c'està-
dire ingénieur de la
connaissance,
spécialiste
de l'intelligence
afiilicielle),
ce
qui
1'éloigne
de ses collègues.
Mais
pour
son employeur,
cette 0pérati0n signifie
odéveloppement
de
prestige)
c0ûteux
aboutissânt à des logicrels
complexes,
difïicilement maintenables
er,
plus
grave.
souvent inutllisés
! Voilà.
une fois de
plus, qui
n'améliore
pas
l'image de cette
tech-
niqLre
<géniale>.
Le
progratane
basé sur les ràgles
Même une base
de règles dotée
d'un moteur'
simple a son intéLêt.
Il ne s'agit
pas
encore
d'un
système expert. n]ais d'tn programme
basé nr
1es Ègles.
Un telprogramme
dispose d'un
mo-
teur réduit à la
seule
production
des conclu-
sions des Lèg1es dont
t0utes les
prémisses
(c'est-à-dire
les
conditions)
s0nt connues.
Reste
à réaiiser I'interface qui
exploitera
ces
conclusions, plus
un module
s0urce
intégrant la
base de règles, Mais
avec cet
outil fmste
plus
un
programme
dessinant
des arbres
et les décou-
pant
en règ1es, la conception
et la
maintenance
d une applicarion
e\l dejà
redule d
au moins
507c.
Ptenons
un exemple
d'application
ulna-
connu: la paye
rvoir
encatlre page
28:
trecu-
li0r
dun
proglamme
paye r.
En
anlllianr
les
re.ult,rl\
obLenu:.
ôr
consldte
qu
ils arrivent
dans un ordre logique
el
se regroupent
naturel-
lement par
thèmes:
-
éléments
de base de calcul
du
salaire
-
retenues saladales
-
retenues patronales
-
net à
payer
CetLe di.po.iiion
n r
pa"
eté nece\\airemenl
réfléchie par
le développeur.
Elle
est le reflet
des arbres
de décision
qui
ont
permis
de re-
cuejllir
la démarche
du comptable.
Remarquons
que,
si chaque
règle est numérotée
et son
nu-
néro
également
affecté à sa conclusion,
il de-
vient
possible
de comprendre
conment les
ré-
sultats ont été obtenus.
en recherchant
dans la
base la règle
correspondant
à chaque résultat.
28
O
IX-MAGAZINE
Vol.
10, N' lll -
Mars 1995
DEBUT
DE CONSUITATION
PAYE:
0uelest le nombre d'heures
lravaillées
du mois
?
-nombre
d'années d'anciennelé=4
-nombre
detickets resto=21
-nombre
d'heures travaillées
du mois=155
-salaire
mensuel=1
5000
-la
durée
de congé
payé=35
-le
m0ntant
de I acomote déià versé=1 000
-position
du salarié=câdre
PAYE
-
(déduction):
'nombre
d
heu
res de salaire à
payer
[dont
Ies congés
payéséventuels]=1
90
.salaire
horaire=88.76
.ila
pris
des congés
payés
'un
acompte
a déjà été versé
.il
yades
heures supplémentaires
-le
salarié n'a
pas
été absent
.le
nombre
d'heuressupplémentaires=21
-
le nombred'heures
supplémentairesà
25%=10
*le
n0mbred'heures
supplémentairesà
50%=11
-salaire25%=1109.5
.salaire
50o/"=1 464.54
*
salaire avant ava
ntag e s=17 57 4.04
*salaireavantancienneté=1
8025.54
-SALAIRE
BRUT DU MOIS='18746-56
"consulterla
listedestaux
-consulter
la liste des taux.
assiette,
plafond
etremise
.tauxaccidentdu
ùavail=0.0096
.tauxaccident
URSSAFvieillesse=0.083
.taux
patronal
U RSSAF
maladie=0.196
EXÉCUTION
D'U N PROGRAMME PAYÈ
"taux
patronaltranche
A ASSED
lC=0.0471
.tâux
patronaltranche
B ASSEDIC=0.0483
"taux
patronalASSEDlC
fonds
de solida-
rité=o.0035
.taux
patr0nal
tranche
A retraite=0.03
.taux
patronal
tranche
B retraite=0.0936
.taux
patronal
tranche
A
prévoyance=0.0071
'tauxpatronaltranche
B
prévoyance=0.0079
-plafond
SS=12360
.taux
salarial lJRSSAFvieillesse=0.0655
.taux
salarial U RSSAF maladie=0.069
-assiette
CSG=0.95
.tauxCSG=0.011
*tauxsalarial
trancheAASSEDlC=0.0279
.taux
salarialtranche B ASSED
lC=0.0337
.tauxsalarial
trancheA
retraite=0.02
.taux
salarial tranche
B retraite=0.0468
'tauxsalarialtrancheAprév0yance:0.0048
"tauxsalarialtranche
B
prévovance:
0.0079
-
rem
ise fo rfaitaire
URSSAF=42
-sMtc=5756.14
.cotisation
salariale
U RSSAF maladie=1
293.51
.cotisation
CSG=195.9
.accidentduùavail=1
79.97
.cotisation
patronale
URSSAF
vieillesse=1025.88
.cotisation
patronale
URSSAF mala-
die=3674.33
.trancheA
patr0nale
ASSEDIC=582.1
6
.londs
nalional de solidarité=65.61
.RESURCApatronale=370.8
-ClRlCApatronale=597.78
'tranche A
patronale
caisse
de
pré-
volance=87.76
.tranche
B
patr0nale
caisse
de
pré-
volance=50.45
.tranche
B
patronaleASSEDlC=308.47
-cotisation
patronale
caisse de
pré-
volance=138.21
.cotisation
salariale
URSSAF
vieillesse=809.58
.tranche
Asalariale
URSSAF=344.84
.RESURCAsalariale=247.2
.CIRlCAsalariale=298.89
*tranche
B salarialeASSEDlC=21
5.23
.trancheAsalariale
caisse
de
pré-
volance=59.33
*tranche
B
salariale caisse de
pré-
volance=50.45
-cotisation
salariale
caissede
pré-
vovance=109 78
"lotal
colisations
salariales
URSSAF=2256,99
.lotal
cotisations
patronales
IJRSSAF=4880.18
.
total
cotisatio ns
patro
nales
ASSEDTC=956.24
-TOTAL
DES
RETENUES PATRONA-
LES=6943.21
.total
cotisalio
n s salariales
ASSEDTC=560.07
-TOTAL
DES RETENUES
SALARIA-
LES=3472.93
*salaire
net=15273.63
-SALAIRE
NEÏ II/ POSABLE=l
5469,53
-SALAI
RE NETA
PAYER=1 4273,63
-FIN
DE LA CONSULTAIION.
fois. En
effet, une donnée
ne
peut
être à la fois
vraie
ou fausse, présente
0u absente, d'une
valeur
et
d une autre.
Le moleur ne reparLira
que
lorsque la
contradiction
sera levée
par
mo-
dification
d'une réponse
ou d'une règle.
La
figure 4 montre
un exemple
de contradic-
tion
typlque: 0n s-ait
que
l'horaire
de travail
légal mensuel est
de 169 heures.
Ici, le fichier
Paye
déclare
pour
un salarié une
absence en
congés
payés
de 170 heures,
ce
qui
n'est
pas
Figurc
4: Exenple
de contrudiclion.
ilya des
heures sup
(salaare
aLant
aràr(aqes 52i
hèuresàpalrer>169.
ilya des
heures sup
OR,
précédemment.
(cor
rôre
des données t0tl
nombre d heures
tra.r€ilées
.tu mois
=
o,
possible.
Le syslème
expefi
va détecter cette
incohérence
er ie{pliquer
à sa façon. qui
est
claire
puisque
tirée d'un raisonnement
tout-à-
fait
banal.
Reste
à développer
quelques
fonctions
de
confort : explication
des
questions
et
des con-
clusions en faisant
apparaître
les règles
qui
les
produisent,
explicati0n
des contradictions,
aide
à la modification
d'une réponse
en montrant les
déductions
qu'elle
annule
et celles
qu'elle
pro-
duit,
accès à la liste
des déductions
du système,
à la liste
des données fournies par
I'utilisateur
et à la liste des règles,
forçage
du raisonnement
du moteur
vers un but
non
prévu par
le système
expefi
(en
sélectionnant ce
but dans
son dic-
tionnaire),
etc.
Pour linlormaticien,
routes ce\
fonction5
lont du système
expert de
2ème
génération
un
excellent outil
de maquettage.
Le système
ex-
pert
étant
un
programme
écrit
sous la forme
d'un fichier, il
tourne
quel que
soit le nombre
de
règles.
On
peut
enfin
tester l'application
au fur
et à mesure de
'on
développemenr.
ce
qui
recon-
cilie l informaticien
avec I'utilisateur.
C'est au
prix
de ce favail
que
I'on
obtient un
système expert
de iuxe, très
agréable à utiliser,l
tx081 00s08
30
O IX-MAGAZINE -
Vol. 10
-
N" 81 - Mars 1995
Le système expert
de 1ère
génération
Le
programme
à baie de règles
a cependanl
un défaut:
il ne
peut
fonctionner qu'en
batch.
On doit luifburnir
au départ
toutes 1es données
si
I'on
veut obtenir
le résultat. En phase
de
conceplion,
de maintenance,
de test,
pour
é1a-
borer des
applications
conversationnelles,
ou
pour
adapter
Ie déroulement
du
programme
aux
données
spéciîiques fournies
par
I'utilisateur.
.l laut un Ingiciel
interacril. La
!0 ulion.
qui
l
dte rrolvee
dèr le:
annee' solxanle-diÀ..on-
\isle
a ne plu\
se conrenter d ln motetrr qui
ne
sait
que
déduire
les résultats
à
panir
des don-
nées fournies.
Ce
que
les spécialistes de l'lA
appel)ent
Ie chaînage cr.ant. Il faut lui
ajouter la
capacité de rechercher
un but
par
lous les che-
mins à sa disposition:
c' es| le chaînage arriè re.
Pour
que
les
possibilités
du
chaînage arrière
soient exploitées
à fond. on introduit
dans le
moteur la 1àculté
d'lnterr0ger I'utilisateur
sw
la valeur
des données susceptibles
de mener au
but
qu'il
ne peut
déduire.
Sur
la
figure n"
3,
1écran
montre un système
experl de
calcul de
paye qui
n'a pas
reçu le
montant du salaire mensuel
d'un salarié.
Le
loriciel conrui..anr
çon
bLrr.
qu'
e;t de
parr
en ir
au salaire
à
verser,
se rend compte
qu'i1
lui
manque
cette donnée et la
demande.
Cette faculté
est extrêmement intéressante:
-
elle
peLnet
de
r'évéler
qu'iJ
manque
des don-
nee\ l0r\
dJ Le.r d une .rpp icilrion
et. mieur
encore, de
préciser
lesquelles;
-
puisque
I'applcation
n'est plus
batch er de-
vient
conversâtionnelle.
fini les écrans
de saisie
spécifiques
qui
demandent
en bloc dès le départ
trop
d'
informations
à
I'utilisateur;
-
l'application
étant réduite
à l'écrinre de rè-
gles
en langage
courant exploitées par
un mo-
teur toujours
identique
et déjà
pourvu
d'une
interface utilisateur
conversationnelle.
l'écri-
ture
du logiciel
devient réellement
à 1a
poltée
du non informaticien.
Modérons
cependant
notre enthousiasme
I
Telle
quelle,
cette faculté
de dialogue peut
mener
à la catastrophe.
Bien des
moteurs
de
système expefis
s0nt dotés
du fameux chaînage
arriere el
pouflJnl
ne.uscilenr
pa(
l ddmir,ition
de,, lou e..
En eller. leurs
,oncepreur.
cogni-
ticiens> ne
semblent
pas
avoir
compris
qu'un
système expert
doté d'un chaînage
arrière seul,
ou même
des
deux chaînages, mais
séparés.
posera
des
questions
stupides qui
continueront
à les discréditer,
eux et I'intelligence
artili-
cielle. Voilà
les insuffisances grtves
de
ce type
de moteur:
-
il iutrrroge
:ur
ce
qu it
auroit
pu
Jiduire pr
Iui-mône
-
il pose
rles
questions
hors sujet,
qui
mèneront
malgré tout tu résr,rhat,
c'est v'rai, mais
après
17 15
MOCA PAYE
DEBUT DE CONSULTATION
-
nonbre
d ènnéês d ànciennelé=]
nombre tickets
restô=O
-
nombre
d heuré. hayaillées
du nôis=l69
duréè de
consé
pàyé-O
-
le montant l acomDle
déià eërsé-o
posilion
du
sèlërié=enployé
PAYE
tdédùction)
:
-
heures à
payêr=169
-
il n à
pàs pris
de cônqé:
payés
-
pàê
d'àcofrpte
yersé
-
le salarié n à
Dàs
été àbsent
.r'r-ou
(
Figurc 3: Exemple de
dialogue.
bien tles clétotu's.
au lieu de
poser
direûenent
la bonne
question
-
rien ne I'enpêche
de continuer à inîerrlger
l'tttilisateur alors
c1u'il ne
peut plus
arriver
it
m résultat esploitable,
les
données
t'ounùes
(ou
les règles) étant
inc0hércntes.
Le
syttàme expert
de )ème
generation
0n en arrive alors
au vrai
système expert...
Pou-
ériter
que
le rnoierr p0,e
oes
que,rion\
maladroites. il faut
en faire un
nécanisne de
rûislnne
1ent. Cela consiste
à lui ajouter
trois
fonctions:
'le
chaînage mixte;
-
l.r
priorirc
dornee
au
plu.
corrn chemin:
-
la tlétection de
contrutliction.
Le
premier
moteur
possédant
ces caractétis-
tiques lut
développé dans le
courant des
années
80 en France
(Pandora.
Université Paris
6)
et
devint le
générateur
de systèmes experts
Intel-
ligence
Service de
GSL Aujourd'hui,
ce type
de
moleur
resle ioujour'
une :pecirlite lrança,,e.
Le chahage
fiLr1e
-
Comme on
pourrait
le
deviner, il
consiste
à mêler chaînage
avant et
chaînage arrière.
Mais
pas
n'importe
commentl
Tl
re. as.t
pas.
comme
le iont
rant de cosniti
ciens. d'ajoutel
aux
règles des
uméta
règles,
qui
imposent
au moteur
de tourner soit
en avant.
soit en arrière, sujvant
le
paquet
de règles
en
cours
d'activation I
ll s'agit de
programmer
le
moteur
pour qu'il
pr0page
systématiquement,
dans
t0utes les rè-
gles,
les données que
I'utilisateur vient
de
lui
communiquer ou
qu'il
vient de
déduiLe. Et ceci
avanl de décider de la
question
à
poser.
C'est
ainsr
qu'i1évitera
de
poser
une
question
dont il
pouvait
déduire
la réponse.
Lo priorit!
clonnée ou plus
ccturt chemin
-
Cette fonction
essentielle du mécanisme
de rai-
s0nnement se déLoule
en deux temps: elle
doit
d
abord repéLer toutes les règles
et tous les
enchaînements
de règles
paltant
d'une donnée
au
morns
déjà connue
et menant à la solution
'lei
enchainemenL.
de rèele'
.unt
nece..rile.
quand
celtaines
données ne
doivent
pas
êtLe
demandées
à
l'utilisateur
ou
qu'il
ne
peut
les
fburniL). Ceci impose
que,
lorsqu'une règle
en
a bes0in.
une autre devra
en déduire la valeur.
Ensuite, de trois
choses l'une:
ou l'on est
en
chaînage
mixte. ou l'on
est en chaînage
arière
ou 1'on est en
chaînage avant pur.
Si l'on est
en
chaînage mixte
ou arrièLe, on dispose
d'un
but.
Le moteur peut
alOrs calculer pour
chacun de
ces chemins combien
de
questi0ns
non encore
résolues
il représente,
et
poser
la
première
questi0n
non encore résolue
du chemin
le
plus
court.
Si
l'on
est en chaînage
avant
pur,
apparaît
la
notion de
contexte:
puisqu'il
n'y a
plus
de
but. le
moteur doit
sélectionner
la
première
règle de la base
dont le rapport
"r)omées
tléjà
connues/donûes
à cotlrair", pour
déclencher
une conclusion
est le
plus
f0fi.
C'est avec cette
fonction qu'on
obtient
un logiciel posant
les
bonnes
questions,
cornme
un expert.
lélecliat1
tJe contrtdictiott
-
C'est une
lonction
méconnue
des cogniticiens.
Pourtant.
elLe e't
ab.olrrnenr
:ldilpen,tble
puiçque
c
esl
el.e
qui
credibrli.e
le.lrleme
erpen.
Elle.r
pour
objet de signller quand
une
base de règles,
donc une
connaissance. présente
des incohé,
rences.
Mais su
0ut. elle démontre
a contrario
que.
si elle
ne tlétecte
pas
de nntradictiou,
Ies
règles
sont honogèneJ
?nts e//?J.
De
plus.
elle
est lacile à
gérer:
il suffit
de donner au moteur
la laculté
de se
bloquer et de
signaler dès
qu'une
donnée obtient plus
d'une valeur
à la
O IX-MAGAZINE -
Vol. l0 N" 81 - Mars
1995
29